class NewMenu {
  constructor () {
    this.title = '插入新菜单' // tooltip显示内容
    this.iconSvg = '<svg><path d="..."></path></svg>' // 图标
    this.tag = 'button' // 'button'表示按钮或下拉面板或弹框，'select'表示下拉框
    // this.width = 60 // 下拉框时显示
    // this.showDropPanel = true // 下拉面板时显示
    // this.showModal = true // 弹框时显示
    // this.modalWidth = 300 // 弹框时显示
  }

  // 菜单是否需要激活（如选中加粗文本，“加粗”菜单会激活），用不到则返回 false
  isActive (editor) {
    return false
  }

  // 获取菜单执行时的 value ，用不到则返回空字符串或 false
  getValue (editor) {
    return '11111'
  }

  // 菜单是否需要禁用（如选中 H1 ，“引用”菜单被禁用），用不到则返回 false
  isDisabled (editor) {
    return false
  }
  // 点击菜单时触发的函数
  exec (editor, value) {
    // ModalMenu时这个函数不用写，空着即可
    if (this.isDisabled(editor)) return
    editor.insertText(value) //value即this.getValue(editor)的返回值，将value插入到editor里
  }
}
const menuConfig = {
  key: 'insertNewMenu', // menukey 唯一。注册之后，需通过toolbarKeys配置到工具栏
  factory () {
    return new NewMenu()
  }
}

export default menuConfig
